--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit a0d6b752a388e934fdeadb16daf4c0877f99c7c1
Parents : 8e21c26
Author : RFNexus <v6z777@protonmail.com>
Date : 2025-04-20T23:17:24-04:00
Fixes for RNodeMultiInterface
Changes
2 files changed, 5 insertions(+), 10 deletions(-)
Diff
diff --git a/nomadnet/ui/textui/Interfaces.py b/nomadnet/ui/textui/Interfaces.py
index b87698c..0a4cc8b 100644
--- a/nomadnet/ui/textui/Interfaces.py
+++ b/nomadnet/ui/textui/Interfaces.py
@@ -1686,7 +1686,7 @@ class AddInterfaceView(urwid.WidgetWrap):
self.ifac_options_button = urwid.AttrMap(self.ifac_options_button, "button_normal", focus_map="button_focus")
self.ifac_options_widget = urwid.Pile([])
- if self.iface_type in ["RNodeInterface", "RNodeMultiInterface"]:
+ if self.iface_type in ["RNodeInterface"]:
self.calculator_button = urwid.Button("Show On-Air Calculations", on_press=self.toggle_calculator)
self.calculator_button = urwid.AttrMap(self.calculator_button, "button_normal", focus_map="button_focus")
@@ -1703,7 +1703,7 @@ class AddInterfaceView(urwid.WidgetWrap):
self.more_options_button,
self.more_options_widget,
])
- if self.iface_type in ["RNodeInterface", "RNodeMultiInterface"]:
+ if self.iface_type in ["RNodeInterface"]:
self.rnode_calculator = RNodeCalculator(self)
self.calculator_visible = False
self.calculator_widget = urwid.Pile([])
@@ -2139,7 +2139,7 @@ class EditInterfaceView(AddInterfaceView):
}
for field_key, field in self.fields.items():
- if field_key not in ["name", "custom_parameters", "type"]:
+ if field_key not in ["name", "custom_parameters", "type", "subinterfaces"]:
widget = field["widget"]
value = widget.get_value()
if value is not None and value != "":
@@ -2153,12 +2153,8 @@ class EditInterfaceView(AddInterfaceView):
elif self.iface_type == "RNodeMultiInterface" and "subinterfaces" in self.fields:
subinterfaces = self.fields["subinterfaces"]["widget"].get_value()
-
for subname, subconfig in subinterfaces.items():
- if any(k.startswith('[[[') for k in self.interface_config.keys()):
- updated_config[f"[[[{subname}]]]"] = subconfig
- else:
- updated_config[subname] = subconfig
+ updated_config[subname] = subconfig
for field_key, field in self.additional_fields.items():
widget = field["widget"]
diff --git a/nomadnet/vendor/additional_urwid_widgets/FormWidgets.py b/nomadnet/vendor/additional_urwid_widgets/FormWidgets.py
index f3e95b7..55f9a03 100644
--- a/nomadnet/vendor/additional_urwid_widgets/FormWidgets.py
+++ b/nomadnet/vendor/additional_urwid_widgets/FormWidgets.py
@@ -386,8 +386,7 @@ class FormMultiTable(urwid.Pile, FormField):
try:
value = transform(value)
except (ValueError, TypeError):
- pass
- value = ""
+ value = ""
if value:
subinterface[field_key] = value
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────